// pages/book/book.js
import {
  BookModel
} from '../../models/book.js'

const bookModel = new BookModel()

import {
  random
} from '../../util/common.js'

Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 纯粹callback 回调地狱  剥夺return权利
    // promise 代码风格  多个异步等待合并
    // async await  ES2017  小程序暂不支持
    books: [],
    searching: false,
    more: ''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // promise 是一个对象，不是函数
    // 对象可以保存状态，函数不可以保存状态，闭包函数可以保存状态
    // Promise 第一步 
    // 异步代码 写在Promise的函数中 第二步
    // const promise = new Promise((resolve, reject) => {
    //   wx.getSystemInfo({
    //     success: res => resolve(res),
    //     fail: error => reject(error)
    //   })
    // })

    // promise.then(
    //   res => console.log(res),
    //   error => console.log(error)
    // )

    bookModel.getHotList()
      .then(res => {
        this.setData({
          books: res
        })
      })
  },    

  // 搜索点击事件
  onSearch(event) {
    this.setData({
      searching: true
    })
  },

  onCancel(event){
    this.setData({
      searching: false
    })
  },

  

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },

  // 监听页面滚动到底部
  onReachBottom(event) {
    this.setData({
      more: random(16)
    })
  }
})